#include <stdio.h>
#include <openssl/md5.h>
#include <stdlib.h>
#include <string.h>
char mdString[33]; // 存储十六进制字符串
int main() {
    // 要哈希的数据
    const char *data = "Hello, World!";
    unsigned char digest[MD5_DIGEST_LENGTH];

    // 计算MD5哈希值
    MD5((unsigned char*)data, strlen(data), digest);

    // 将哈希值转换为十六进制字符串
    for (int i = 0; i < MD5_DIGEST_LENGTH; i++) {
        sprintf(&mdString[i*2], "%02x", digest[i]);
    }
    mdString[32] = '\0'; // 确保字符串以空字符结尾

    // 输出结果
    printf("MD5: %s\n", mdString);


    return 0;
}